package com.itheima.dao.system;

import com.itheima.domain.system.Role;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author ymsxyz
 * @version 1.0
 * @description
 * @date 2021/2/7 16:11
 */
public interface RoleDao {
    int save(Role role);

    int delete(Role role);

    int update(Role role);

    Role findById(String id);

    List<Role> findAll();

    /**
     * 删除该角色和模块关系(操作关联表)
     *
     * @param: roleId
     * @return: void
     * @author: ymsxyz
     * @date: 2021/2/8
     */
    void deleteRoleModule(String roleId);

    /**
     * 保存角色和模块关系(操作关联表)
     *
     * @param: roleId
     * @param: moduleId
     * @return: void
     * @author: ymsxyz
     * @date: 2021/2/8
     */
    void saveRoleModule(@Param("roleId") String roleId, @Param("moduleId") String moduleId);

    /**
     * 通过用户id查询所有角色
     *
     * @param: userId
     * @return: java.util.List<com.itheima.domain.system.Role>
     * @author: ymsxyz
     * @date: 2021/2/8
     */
    List<Role> findAllRoleByUserId(String userId);
}